Verifying Recursive Programs Using Intraprocedural Analyzers

نویسندگان

  • Yu-Fang Chen
  • Chiao Hsieh
  • Ming-Hsien Tsai
  • Bow-Yaw Wang
  • Farn Wang
چکیده

Recursion can complicate program analysis significantly. Some program analyzers simply ignore recursion or even refuse to check recursive programs. In this paper, we propose an algorithm that uses a recursion-free program analyzer as a black box to check recursive programs. With extended program constructs for assumptions, assertions, and nondeterministic values, our algorithm computes function summaries from inductive invariants computed by the underlying program analyzer. Such function summaries enable our algorithm to check recursive programs. We implement a prototype using the recursion-free program analyzer CPAChecker and compare it with other program analyzers on the benchmarks in the 2014 Competition on Software Verification.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Prototype Environment for Verification of Recursive Functional Programs

We present an experimental prototype environment for defining and verifying recursive functional programs, which is part of the Theorema system. A distinctive feature of our approach is the hint on ”what is wrong” in case of a verification failure. The prototype is designed in order to improve the education of future software engineers by exposing them to successful examples of using formal met...

متن کامل

A Strict Border for the Decidability ofE {

During the execution of functional logic programs, E{unii-cation problems have to be solved quite frequently, where the underlying equational theory is induced by recursive functions. But, what about the decidability of those E{uniication problems? Up to now, there does not exist a concrete answer to this question. In this paper, we answer this question by drawing and verifying a strict border ...

متن کامل

A Strict Border for the Decidability of E{Uni cation for Recursive Functions

During the execution of functional logic programs, E{uniication problems have to be solved quite frequently, where the underlying equational theory is induced by recursive functions. But, what about the decidability of those E{uniication problems? Up to now, there does not exist a concrete answer to this question. In this paper, we answer this question by drawing and verifying a strict border b...

متن کامل

Deadlock Detection in Linear Recursive Programs

Deadlock detection in recursive programs that admit dy-namic resource creation is extremely complex and solutions either giveimprecise answers or do not scale.We define an algorithm for detecting deadlocks of linear recursive pro-grams of a basic model. The theory that underpins the algorithm is ageneralization of the theory of permutations of names to so-called muta-tio...

متن کامل

ProgrmaYerification in a l~gical Theory of Constructions

The logical theory of constructions is a simple theory which combines functional programs and intuitionistic predicate calculus. Here we propose that it is a practical alternative to other constructive programming logics, such as Martin-LSf's type theory. Its main advantage is that it admits reasoning directly about general recursion, while maintaining that all typed programs terminate. We illu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014